#define CATCH_CONFIG_MAIN

#include "catch.hpp"
#include "ACEtk.hpp"

using namespace njoy::ACEtk;

Table::Data build();

auto data = build();

inline Table::Data build(){
  using IZ = std::array< int32_t, 16 >;
  using AW = std::array< double, 16 >;
  using IZAW = std::pair<IZ,AW>;
  using NXS = std::array< int64_t, 16 >;
  using JXS = std::array< int64_t, 32 >;
  using XSS = std::vector< double >;
  return
    Table::Data(IZAW{{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}},
                     {{0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}}},
                 NXS{{ 84, 33074, 1595, 132, 46, 814, 2, 0,
                        0,     0,    0,   0,  0,   0, 0, 9 }},
                 JXS{{       1,  788721,  788768,  788815,
                        788862,  788909,  788956, 1270743,
                       1270789, 1363882, 1363927, 1475750,
                       1633494, 1633500, 1633506, 1634036,
                       1634042, 1634042, 1634048, 1637218,
                        789147, 1637220, 1464171, 1465923,
                       1465934, 1465976, 1465982,       0,
                             0,       0,       0,       8 }},
                 XSS{ 1.00000000000E-11, 1.03125000000E-11,
                      1.06250000000E-11, 1.09375000000E-11,
                      1.12500000000E-11, 1.15625000000E-11,
                      1.18750000000E-11, 1.21875000000E-11,
                      1.25000000000E-11, 1.28125000000E-11,
                      1.31250000000E-11, 1.34375000000E-11,
                      1.37500000000E-11, 1.43750000000E-11,
                      1.50000000000E-11, 1.56250000000E-11,
                      1.62500000000E-11, 1.68750000000E-11,
                      1.75000000000E-11, 1.81250000000E-11,
                      1.87500000000E-11, 1.93750000000E-11,
                      2.00000000000E-11, 2.09375000000E-11,
                      2.18750000000E-11, 2.28125000000E-11,
                      2.37500000000E-11, 2.46875000000E-11,
                      2.56250000000E-11, 2.65625000000E-11,
                      2.75000000000E-11, 2.84375000000E-11,
                      2.93750000000E-11, 3.03125000000E-11,
                      3.12500000000E-11, 3.21875000000E-11,
                      3.31250000000E-11, 3.40625000000E-11,
                      3.50000000000E-11, 3.59375000000E-11,
                      3.68750000000E-11, 3.78125000000E-11,
                      3.87500000000E-11, 3.96875000000E-11,
                      4.06250000000E-11, 4.25000000000E-11,
                      4.43750000000E-11, 4.62500000000E-11,
                      4.81250000000E-11, 5.00000000000E-11,
                      5.15625000000E-11, 5.31250000000E-11,
                      5.46875000000E-11, 5.62500000000E-11,
                      5.78125000000E-11, 5.93750000000E-11,
                      6.09375000000E-11, 6.25000000000E-11,
                      6.40625000000E-11, 6.56250000000E-11,
                      6.71875000000E-11, 6.87500000000E-11,
                      7.18750000000E-11, 7.50000000000E-11,
                      7.81250000000E-11, 8.12500000000E-11,
                      8.43750000000E-11, 8.75000000000E-11,
                      9.06250000000E-11, 9.37500000000E-11,
                      9.68750000000E-11, 1.00000000000E-10,
                      1.03125000000E-10, 1.06250000000E-10,
                      1.09375000000E-10, 1.12500000000E-10,
                      1.15625000000E-10, 1.18750000000E-10,
                      1.21875000000E-10, 1.25000000000E-10,
                      1.28125000000E-10, 1.31250000000E-10,
                      1.34375000000E-10, 1.37500000000E-10 } );
}
